A sender computing system may execute an application that desires a service provided by a receiver computing system. The application may therefore transmit an electronic message to the receiver, the message including service data on which the service is to be provided as well as authentication data identifying a user. The receiver uses the authentication data to perform an authentication action for logging the user into the receiver system. If the authentication action is successful, the receiver executes code under the user to implement the service on the service data.
The above-mentioned application is executed under a user of the sender computing system. The authentication data sent from the sender to the receiver may identify this actual user, or may comprise fixed authentication data that are statically configured and identify a fixed user in the receiver. In the former case, the receiver must be aware of the identity of the actual user in order for the authentication action to be successful.
Conventional communication protocols do not provide sufficiently flexible authentication in certain situations. Systems are therefore desired for improved authentication between a sender computing system and a receiver computing system.